23

» WarCraft 3 / Отлов автокаста стрел

Похожие вопросы:

ответ
событие - юнит получает урон
условие - юнит получивший урон имеет баф (баф стрелы)
Pippetz, лучше не яд а ледяные стрелы

23

» WarCraft 3 / Вопросы по мемхаку

Похожие вопросы:

ответ
фатал после игры может быть вызван
а) использованием malloc
б) копированием внутриигровых структур (например, структуру сплеша перенес от одного юнита другому, при чистке один раз адрес зачистился, а на втором проходе произошел краш)
в) неизвестным мне образом
ответ
Сделай сам.
ответ
DracoL1ch:
офсет 2589 *4 , я ж только что сказал
Всё, немного поковырявшись у меня получилось, нужно было еще (id * 4) еще раз умножить на 4. Теперь строки извлекает идеально.
Если кому-то интересно, выглядит это вот так:
	DWORD ReadPointer(DWORD addr)
	{
		return *(DWORD*)(addr);
	}

	DWORD GetJassContext(int id)
	{
		DWORD pJassEnvAddress = DWORD(GetModuleHandle(TEXT("Game.dll"))) + 0xADA848;
		return ReadPointer(ReadPointer(ReadPointer(ReadPointer(pJassEnvAddress) + 0x14) + 0x90) + id * 4);
	}

	DWORD GetStringTable()
	{
		DWORD pJassContext = GetJassContext(1);
		return ReadPointer(ReadPointer(pJassContext + 0x2874) + 0x8);
	}

	std::string from_jString(jString jstrHandle)
	{
		DWORD pStringTable = GetStringTable();
		const char* sptr = (const char*)ReadPointer(ReadPointer(pStringTable + ((jstrHandle * 4)*4) + 0x8) + 0x1C);
		return sptr;
	}
ответ
Ну содержимое у restore само собой разное, в детекте урона новый хук на выход, вам нужна функция загрузки библиотеки?
Это же дело над:

function LoadLibrary takes string nDllName returns integer
    if pLoadLibraryA == 0 then
        set pLoadLibraryA = GetModuleProcAddress("Kernel32.dll", "LoadLibraryA" )
    endif
    if pLoadLibraryA != 0 then
        return CallStdcallWith1Args(pLoadLibraryA,GetStringAddress(nDllName))
    endif
 
    return 0
endfunction

23

» WarCraft 3 / Способность не работает на деревьях

Принятый ответ
Похожие вопросы:

ответ
Engineer, я сбросил ему карту с другого сайта, где это реализовано. Открытая реклама на сайте запрещена)
ответ
Audes, это разве не стандартное "вырвать дерево" от Древ?
ответ
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
  1. чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
  2. действие проиграть звук и указываешь твою фразу
  3. выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
  1. система отлова урона
  2. морф юнита либо орбы
всё что я не описал есть в статьях
тебе нужны первые 2 раздела ("Основы" и "Триггеры и объекты")
ответ
biridius, если это есть в РО, то прибегать к триггерам явно не обязательно.
ответ
в доте фрог решил просто превращением тини в модеьл с деревом, возможно нормального решения просто нет

23

» WarCraft 3 / Поменять расу

Похожие вопросы:

ответ
endryu, интерфейс динамически изменить нельзя с помощью стандартных действий, разве что через собственный патч, который взаимодействует с графической оболочкой игры.
ответ
Display as Neutral Hostile = true
ответ
XGM Bot:
Похожие вопросы:

ответ
Для отображения интерфейса необходима только модель, не нужно для ее роботы новых текстур.
ВарКрафт ссылается на модели для отображения гемплея, а в свою очередь модели ссылаются на текстуры.
Хитрость в том что можна создавать 15 моделей с одинаковыми текстурами.

ответ
Тоже всё сделал

23

» WarCraft 3 / ИИ не прокачивает способности героям

Похожие вопросы:

ответ
Прятать юнита, создавать дамми с нужными способностями. Если никто не сделает, возможно вечером попытаюсь (сейчас у меня утро) сделать.
ответ
]]Chupakabra[[, я понял. Крч на костылях придется лепить. Попробуй при выборе героя добавлять геройские абилки, а потом блочить или удалять их. Думаю, так можно добавить до 7 штук. Через ро не получается больше 5.
Если не получится - пробуй делать полностью триггерно с помощью спеллбука.
ответ
8gabriel8, влзможно ты равкод оставлял у способности разный на разных уровнях.
ответ
Арена, выживание.

23

» WarCraft 3 / Удаление эффекта

Похожие вопросы:

ответ
call DestroyEffect(AddSpecialEffect(e, x, y))
ответ
null - это нулевая строка, это не твой бро
"" - четкая строка без единого символа, это твой бро
да, игре похер, какой путь до модели, объект создается всегда
ответ
время смерти эффектов - игровая константа, по дефолту 5с, в константах ищи
ответ
>>В не правильно условий удаления?
Возможно идёт перезапись переменных, из-за чего не всё удаляется.
Актуально с глобалками
Смотрите в сторону мультиплеерности.
Если в ваших тестах с одним героем всё хорошо, то не факт что всё будет хорошо, если одновременно кастанутся 2 одинаковых спелла, которые построены на одних и тех же переменных.
ответ
После создания эффекта, следующей строчкой делаешь удаление.
Если он он создается на время, то заноси в переменную и когда надо удаляй.

23

» WarCraft 3 / Да что же это такое?!

Похожие вопросы:

ответ
Да у тебя куча дыр, во-первых ты не запустил триггер 115 области lumber direction, и оно соответственно не реагирует на событие. Во-вторых перепроверь gold проверку условия на да или нет в той карте которую ты отправил стоит нет
А золото не движется потому что ты ожидание 0,5 сек поставил а область в милисекунде от изначальной то есть триггер не успевает запуститься
ответ
Правильный ответ ДА и он здесь xgm.guru/p/renderedge/memoryhack?postid=408475#comment190
ответ
Прошлое имеет смысл оставаться в прошлом. Актуальные версии игры вроде бы скрытых вирусов не имеют, а за ремастер уже не так жалко отдать лишнюю тысячу рублей, как за оригинальную игру 2002-го. Правда отдавал эти деньги всё равно чрезмерно щедрый я... За Сашку, Илюшку.. ну а себе Deluxe.
ответ
Да ну нафиг,или я не правилно говорю или меня не правильно понимают
Думаю, два в одном.

23

» WarCraft 3 / Действие - ничего не делать

Похожие вопросы:

ответ
p >= 0 and p >= 3
ну это вообще пушка
и это p >= 4 and p >= 7
ответ
Всё, сорь за бред. Я "логические" ещё не сильно запомнил.
ответ
скачай этот файл и закинь его в папку AdicHelper\lib\ в папке с jngp
после в шапке карты напиши include "ifdebug.j"
и создай триггер с событием
игрок написал в чат ifdebug как точное совпадение
действие
кастом скрипт log()
после чего запусти карту и напиши в чат ifdebug
он выведет на экран все if/else/elseif через которые он прошёл (true в скобках в конце строки означает что значение в ифе истина)
ответ
Разрешённые цели - добавляешь "Здания"
Эффект на них работает, но без иконки снизу.
Только что потестил на "Доспехах веры"

23

» WarCraft 3 / Помогите с созданием способности!

Похожие вопросы:

ответ
Есть специальный ресурс , в котором ты можешь заказать способность , которую не можешь сделать сам.
ответ
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
  1. чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
  2. действие проиграть звук и указываешь твою фразу
  3. выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
  1. система отлова урона
  2. морф юнита либо орбы
всё что я не описал есть в статьях
тебе нужны первые 2 раздела ("Основы" и "Триггеры и объекты")
ответ
Найти эту способность в РО, скопировать и затем вставить через РО в свою карту. Если способность триггерная также скопировать код через редактор триггеров. (До копирования в параметрах редактора поставить галочку - Автоматически создавать новые переменные)
PS - Герою добавить ее также через РО
ответ
FabulousTiger, большенству людей сложно влиться в чужой проект если тот абсолютно не отвечает некоторым критериям либо человеку может просто не нравится задумка. И это далеко не та ситуация когда нужно проглотить свое негодование, уровень роботы такого человека будет напрямую зависеть от того насколько ему нравится проект.
KaneThaumaturge, твоя скорость изучения JASS будет напрямую зависеть от того насколько ты в это захочешь втянуться. Правда должен предупредить что есть люди которые просто не приспособлены к тому что-бы понять програмирование в его ярчайшем проявлении, такие люди обычно при разработке проекта опираются на то что умею лучше всего.
Я из опыта скажу что: есть некоторые вещи которые возможно создать только при помощи JASS, но реализацию большенства идей можно выполнить при помощи GUI. Покопайся в чужих наработка пойми что ты хочешь и что можешь использовать из предоставленного тебе и вперед делать проект.

23

» WarCraft 3 / Хэш таблица

Похожие вопросы:

ответ
Первая "1" это имя сохраненной переменной, можешь назвать как угодно. Это нужно, чтобы ее можно было загрузить. Вторая "1" имя таблицы, в твоем случае это "Hash".
ответ
avuremybe, в хэштейбле данные хранятся по 2 ключам
т.е. хэштейбл это двумерный массив (массив в массиве)
1 ключ используй как id юнита по которому сохраняешь данные
2 ключ это индекс твоего массива
зачем чтото придумывать
всеравно готов поспорить что ты используешь только 1 ключ а для второго какая нибудь константа
ответ
MultiboardGetItem создает игровой объект-ячейку, MultiboardReleaseItem разбивает её обратно. Если таблица навсегда. то выгоднее хранить объекты в массиве, чтобы не терять время на постоянные Get-Release + это позволяет в дальнейшем асинхронно менять содержимое ячеек, что невозможно, если использовать функции.
Ну а кто жрет память, моешь с помощью этой тулзы глянуть (может не запускаться, у меня работает) - кинуть в корень варика и запустить при работающей игре
ответ
После разложения юнита его хэндл освобождается с хэш-таблицы?
Нет. Он остается в памяти до выхода из карты (если тип разложения на это никак не влияет)
Может ли юнит, которые появился занять хэндл юнита, который был разложен?
Может. И это может быть не только юнит.

23

» WarCraft 3 / Проблемы с редактором

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
советую переименовать модель\заребутить комп
текстуры стандартные юзал, я так понимаю

ответ
Проблема решена. Я сделал так: Удалил все триггеры и потом по папочке восстанавливал, когда нашли в чем проблема удалили триггер и все заработало, спасибо за помощь!

23

» WarCraft 3 / Как изменить физический размер юнита?

Похожие вопросы:

ответ
В РО "Пути - Физический размер".
ответ
~8gabriel8:
Когда просто запускаю твою карту, то всё нормально, но если внесу изменения и пересохраняю, даже просто пересохраняю, то она перестаёт загружаться в игре, может быть ты какую-то защиту ставил? Я планировал сделать видимой модель дамми, так как работник несёт ресурсы не в ратушу, а справа от неё, то есть предположительно дамми на свободном месте, но при этом работник ополченцем не становится. Да и вообще как-то глючно работает. Ратуша начальная не улучшается компьютером, только ратуши у новых рудников, работник может добывать дерево у нового рудника, но нести его к начальной базе, хотя только что перед этим носил на базу рядом с новым рудником. Короче, глючное какое-то поведение - надо бы видеть модель дамми.
P. S. Создал карту, куда скопировал дамми, дал ему видимую модель и начал проверять. Действительно не выполняется "К оружию", если юнит над Ратушей, но если ей дать меньшую карту путей, то способность срабатывает, немного другая карта путей, но того же размера у Обсерватории-она тоже не работает. Много всего перепробовал поменять в редакторе объектов, но никак не получалось сделать призыв работающим. Тогда я из блокираторов путей решил попробовать сделать рабочую карту путей, вот каким работающий вариант получился:
Для сравнения поместил рядом ратушу. Синий цвет у карты путей обозначает, что нельзя строить, розовый, что нельзя строить и ходить. Нам важен лишь розовый цвет. Опытным путём определил, что необходимо сделать не розовым второй квадратик в правом верхнем углу сверху, необязательно тот, что у меня отсутствует, можно и тот, который выделил. Можно и больше убрать, у меня показан необходимый минимум.
То есть надо сделать новую карту путей для Ратуши/Крепости/Замка. Новые карты путей я не делал, потому не подскажу более, но есть ссылка на статью:
ответ
У зданий физ размер нужен только для галочки и взаимодействия со спеллами, сама проходимость определяется картой путей здания, если поставить карту путей портала то сквозь здание можно будет ходить но на этом месте нельзя будет строить...

23

» WarCraft 3 / Проблема с ИИ

Похожие вопросы:

ответ
проблема в том что они создаются триггерно
посмотри содержимое бж функции которая даёт стартовых юнитов
там вроде должно быть решение
ответ
Я думаю что ошибка находится в аргументе. Покажите файл.
ответ
Всё я исправил проблему.Надо было просто поставить тригер выше создать начальных юнитов.
ответ
~8gabriel8:
Приложить файл кампании, чтобы посмотрели. И какая версия игры?
ответ
Это баг самого редактора AI. Откройте контекстное меню, нажав на "Файл" слева вверху, далее "Экспортировать код". Он сохраниться в формате .ai, пригодном для открытия текстовым редактором, там же вы его и измените, замение id пустых заклинаний на свои. Чтобы увидеть id заклинаний, обьектов и т.д, в редакторе обьектов нажмите CTRL+D.

23

» WarCraft 3 / В карте появился импорт из другой.

Похожие вопросы:

ответ
Можно, скорее всего. Есть же тайл "бездна". Попробуй сделать свой тайлсет на его основе.
ответ
берёшь содержимое бж функций с сайта
и копируешь себе в блокнотик
по поводу русификации копайся в файлах джнгп
мб найдёшь где то файлик с именами
либо сноси свой вар нафиг и ставь англ верию
ответ
bOrissko, Почти, я создавал карту на рабочем столе а оказалось что менять тайлсеты можно только в папке maps. Но сделать обрыв в бездну и обрыв затонувшего города так и не получилось(
ответ
Можно триггерно связать между собой пару юнитов (ворота и рычаг), при смерти одного - ломать второй. При активации одного (рычага) - воспроизводить действий в другом...
ответ
~8gabriel8:
JNPG не рассчитан на этот распространённый русификатор. Если хочешь русский JNPG, то на сайте есть проект пользователя Пушистый FNWE.
Там не только нормальный перевод, но и много дополнительных функций.

23

» WarCraft 3 / Сломалась карта

Похожие вопросы:

ответ
Нашел в JNPG папку с бэкапами.
Как закрыть вопрос?)0
ответ
Тут восстанавливать нечего, вся карта состоит из нулей, т.е её стер редактор на диске собрался из оперативки записать заного да неуспел, гг. Ищи в папке с JNGP бекапы, он автоматом сохраняет бекап после каждого сохранения карты в редакторе.
ответ
Adantarn, запускай редактор в совместимости с Windows 7. Ещё перезагрузи компьютер (именно перезагрузи, а не выключи и включи).
Также дело может быть в настройках графики. Выкрути их в игре на максимум или в редакторе, убрал галку "Использовать настройки игры" и поставив свою конфигурацию.
Если всё это не поможет, то удаляй всех юнитов и расставляй их уже на новом компьютере.
ответ
в логах WEX под конец как-то попал ProcessBlocker, чего он там делает и почему раньше такого не было - непонятно. какой-то конфликт подключения дллок?
отключение процессблокера в диспетчере задач не помогло.
отключение rundll32.exe запускающегося с варом и какого-то фига пожирающего 20% проца даже когда вар закрыт - тоже не помогло.
поставил старый жнгп на вар 1.26. на нем та же ошибка.
где-то в реестре надо ковыряться?
Update: удалил все десятки тысяч файлов в AppData\Local\Temp и из реестра ссылки на последнюю открытую карту, все, заработало
ответ
JNGP вроде по умолчанию делает бекапы... Если они еще не затерлись - доставайте последний рабочий бекап и продолжайте делать что делали. Желательно делая ручные бекапы на ключевых этапах разработки потому как автоматические не всегда спасают.

23

» WarCraft 3 / Не вопрос, а скорее просьба.

Похожие вопросы:

ответ
Карта жуть, одни утечки - куча триггеров с переодиком, смотрел хоть Extrime Candy Wars (конфетные войны), там нормально сделаны триггерные скиллы и спавнинг мобов на гуи, без 100500 утечек?
То что есть в карте лучше удалить и написать за ново, с 0 и лучше всего без GUI (особенно если вы в нем так и не научились шарить, то уж лучше JASS )
ответ
Полезная информация- может пригодиться при создании ролика
фильтры - xgm.guru/p/wc3/filters
камера - www.hiveworkshop.com/threads/cameras.160369 И еще

23

» WarCraft 3 / Способность у нейтрального здания

Принятый ответ
Похожие вопросы:

ответ
SomeFire, У него 3 круга
вернее 6
ответ
Поиск для слабаков? xgm.guru/p/100/170091
ответ
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя
ответ
"Взять на борт" нельзя сделать доступным нескольким игрокам, т.к. это подразумевает контроль одной способностью (пассажир) юнитов разных игроков. Это нереализуемо чисто по механике, т.к. не обрабатывается событие, при котором игрок высаживает (или засаживает погружает на борт) юнита другоо игрока.

Ну можно делать несколько юнитов-носителей без модели, после чего переключаться между ними...
но это так скучно

23

» WarCraft 3 / По поводу текстуры/модели

Похожие вопросы:

ответ
Каро, чтобы закрыть вопрос - выбери лучший ответ.
ответ
~8gabriel8:
Идея!
В модели один слой, а можно выделить ветви и на новый слой их, а там уже можешь делать смещение без коверкания наложения текстуры.
Что-то с моделью этой, не получается провернуть указанную операцию, постоянно вылетает ошибка.
ответ
~8gabriel8:
Оригинально) Круто, что работает.
По идее нужно не mdx открывать в Блокноте, а пересохранить модель в формат mdl и открывать в Блокноте её. Файлы tga являются просто другим форматом текстур, который используется в игре. Если слишком много весят, можешь перевести в blp, но считается, что у tga качество получше.
ответ
Как где? Поиск в помощь, вот ссылка
Кто тебе сказал что ниче менять не будут? Еще как будут, ожидается овер 100500 правок и нововведений, вот когда сделают - тогда будешь проектировать под стабильный рефордж, то будет еще 1 карта, если чо близзарды в варкравте ломали совместимость карт из патча в патч.

23

» WarCraft 3 / Как сделать инком на основе пассивной способности?

Похожие вопросы:

ответ
Т.е. ты сначала отдаешь от героя в рюкзак, а потом сразу же забираешь из рюкзака герою? И нафига? Нет, я понял, что у тебя с логикой туго, но все равно должен спросить.
Для простоты и аналогичности: создаёшь третьего юнита, кидаешь ему шмот из рюкзака, кидаешь шмот героя в рюкзак, кидаешь из третьего юнита в героя.
ответ
нарисовалось, дал сссру на разборку, мб добавит

23

» WarCraft 3 / Помогите разобраться в ошибке

Похожие вопросы:

ответ
~16GB:
nvc123,
у меня подобным образом сделаны почти все спелы моей карте и всё ок. Если бы ты сделал карты, в которые хоть кто-то играет, то тебя можно было бы ещё слушать, а так. В доте тоже вон всё на хэше и триггерах и всё ок. Ещё и cjass предлагаешь.
ответ
у тестаг есть функция жизни вот его и указывай и оно автоматом удаляет тестагом
ответ
Кажеться я разобрался с крашем и десинком, хотя я так не до конца понял почему именно из-за этих двух вещей происходит такая фигня.
  1. Краш при падении артефакта скорее всего связан с лидербордом где отображаются результаты розыгрыша. Каждую секунду у лидерборда меняется название мб краш как-то связан с этим. По крайней мере этим можно объяснить почему игроков крашило по очереди с некоторой периодичностью. Теперь убрав этот лидерборд и откатав 30+ игр никаких крашей при падении артефактов обнаружено не было. Но конечно хотелось бы понять как лидерборд мог вызвать такие странные краши. Мб конфликт с локальными мультибордами?) Хотя я хз.
  2. Десинхрон в начале волны с 1-м боссом. Я просмотрел 6 реплеев с игр когда вылетали игроки и выяснил что каждый раз это происходило когда их атаковал танк на котором приезжает босс. Танк имеет способность москиты и Тип Атаки - мгновенный и Тип Урона - мили. Мб какое-то сочетания настроек атаки и москитов давало такой странный результат.

23

» WarCraft 3 / Локальный мультиборд

Похожие вопросы:

ответ
в common.j описаны типы. первые 94 строки - те, что есть на 1.26 версии
timer - таймер
multiboard - мультиборд

23

» WarCraft 3 / Звук юнитов

Похожие вопросы:

ответ
нет, не будет если просто импортировать в карту, на каждого юнита есть список/таблица где прописано четко какие звуки у какого юнита
ответ
Mrachny, может волшебный рэбут нужно сделать?)

23

» WarCraft 3 / Увеличение карты

Похожие вопросы:

ответ
Сценарий -> Размер карты и границы обзора -> "Изменить границы карты" - здесь ставишь галочку. После этого используй стрелки вокруг карты (всё в том же окне). Только стоит учитывать, что размер карты должен быть кратен 32-м, иначе выдаст ошибку.
ответ
~8gabriel8:
Насколько помню, на картах большого размера могут быть глюки с размещением порчи по краям. Но в целом чего-то серьёзного, как и указал Bergi_Bear, нет.
ответ
Steal nerves:
war3map.w3e <= Здесь содержится информация о текстурировании поверхности. Обычно открывается Hex-редактором. Для редактирования поверхности (w3e) рекомендуем программу w3e-injector (это старый редактор, есть и более новый jngp достаточно. я вот не понимаю зачем тебе это надо?)
еще можно zepir для ландшафта (в принципе тоже самое)
ответ
Алексей777; WEU устарела и не работает с редакторами 1.21+. Карта сохранённая в 1.26 вряд-ли запустится в 1.21. Стоит бросить это дело. Если карта делается с нуля, то можно начать с 1.31, там есть возможность добавить 16 текстур ландшафта.

Галки стоят в JNGP?
раскрыть
Установка текстур
Читай здесь.